package com.googlecode.bindyj.function;

public abstract class Func1<R, A> implements Func<R> {

  @SuppressWarnings("unchecked")
  public R call(Object... args) {
    FuncPreconditions.checkArgumentCount(1, args.length);

    return call((A) args[0]);
  }

  protected abstract R call(A a);
}
